package com.springboot_gradrecruit.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot_gradrecruit.common.PageResponse;
import com.springboot_gradrecruit.model.dto.job.AddJobRequest;
import com.springboot_gradrecruit.model.dto.job.PageJobRequest;
import com.springboot_gradrecruit.model.dto.job.UpdateJobRequest;
import com.springboot_gradrecruit.model.entity.Job;
import com.springboot_gradrecruit.model.vo.chart.CityAverageSalary;
import com.springboot_gradrecruit.model.vo.chart.IndustryJobSpread;
import com.springboot_gradrecruit.model.vo.chart.SendRecordSpread;
import com.springboot_gradrecruit.model.vo.job.JobVO;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author zr
* @description 针对表【job】的数据库操作Service
* @createDate 2024-11-04 15:46:30
*/
@Service
public interface JobService extends IService<Job> {

    Long addJob(AddJobRequest addJobRequest, HttpServletRequest request);

    PageResponse<JobVO> pageJob(PageJobRequest pageJobRequest);

    boolean updateJobById(UpdateJobRequest updateJobRequest);

    IndustryJobSpread querySpreadJobCount();

    CityAverageSalary queryHotCityAverageSalary();

    List<JobVO> queryHotJob();

    List<JobVO> queryJobByEnterpriseId(Long enterpriseId);

    List<JobVO> queryJobByJobIndustry(List<String> jobIndustry);

    List<JobVO> queryJobByJobPosition(List<String> jobPosition);

    List<String> queryJobTitleByEnterpriseId(Long enterpriseId);

    List<String> queryJobIndustryByEnterpriseId(Long enterpriseId);
}
